// 1. 引入模块
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

// 2. webpack 核心
module.exports = {
    // 模式
    mode: 'development',
    // 入口
    entry: './src/index.ts',
    // 出口
    output: {
        path: path.resolve(__dirname, 'build'),
        filename: 'js/bundle.js',
        clean: true
    },
    // loader
    module: {
        rules: [
            {
                test: /\.tsx?$/,
                use: 'ts-loader'
            }
        ]
    },
    // 插件
    plugins: [
        new HtmlWebpackPlugin({
            template: './public/index.html'
        })
    ],
    // 当我们在模块中使用 import 不带后缀名的时候，它会自动分析
    resolve: {
        extensions: ['.ts', '.tsx', '.js']
    },
    // 操作虚拟服务器
    devServer: {
        open: true,
        port: 9527
    }
}